The Purpose of Sdl Simulations
نویسندگان
چکیده
This paper presents a tool chain to compile SDL specifications into simulators. Such simulators can be used to analyse and verify the specification. The SITE code generator translates the specification into C++, which allows to flexibly replace the underlying run-time system. INTRODUCTION INTO SDL The following description of SDL is a simplification, for a complete reference, the reader is referred to the ITU recommendation Z.100 (ITU-T 1996b). SDL-96 is the ITU Specification and Description Language. It is standardized in the ITU Recommendation Z.100 and it is based on the concept of communicating extended finite state machines. Each state machine works in a stimulus/response fashion. SDL is mostly used for the specification of telecommunication systems, but can be used to describe any discrete system which exhibits an eventdriven control flow. With the 1992 revision of SDL, object-oriented constructs were introduced into the language. SDL now contains a typing concept for structuring the system, and concepts of virtuality and inheritance to allow for hierarchies of types. SDL provides concepts to describe both the structure and the behaviour of a distributed system. On the structural level, a system or system type is subdivided into blocks. The concept of block is usually used to express physical distribution, meaning that the processes inside different blocks are executed at different physical locations. A block consists of sets of processes, which define the behaviour of the block. The behaviour of a process is described using a state-transition-diagram, which is shared by all processes of a set. All processes execute independently from each other, and possibly in parallel. They communicate by exchanging signals. The signals are delivered via signal routes and channels, and end up in the input port of the receiving process. THE PURPOSE OF SDL SIMULATIONS Specifications written in SDL can serve multiple purposes: • yield an informal description of an application, • yield a description of a standardized interface (e.g. SDL in ITU-T standards), • yield a prototype of an application for design evaluation, • yield an executable to derive or evaluate a test specification (e.g. Computer Aided Test Generation (CATG)) or • yield an executable specification for deployment on the target device. To improve the quality of the SDL specification the following could be done: • manual review, • running test sequences against an executable version of the specification, • transformation of the specification into a calculus and proving properties of the specification and • running a simulation of the specification. SIMULATING SDL USING SITE Nils Fischbeck, Martin von Löwis Humboldt-Universität zu Berlin Axel-Springer-Str. 54a 10117 Berlin E-mail: fischbec|[email protected] This paper focuses on the simulation of SDL specifications. The purposes of the simulation is twofold: • evaluating the quality of the specification itself (Are there any programming errors?) and • evaluating the design of the application (Does the specification provide the functionality it should?). This separation implies that there is a clear specification on what the application should do. By simulation the following groups of error situations can be identified: • structuring errors, • communication errors, • timing errors and • behavioural errors. Note that this structuring does not imply a formal, disjunct or exhaustive definition of errors. Structuring errors comprise all errors regarding the static and dynamic structure of the specification. A structuring error occurs for example if there is no initial instance of a process in a specification or if the maximum number of processes of a kind is reached but additional processes should be created. Communication errors prevent communication or enable communication between wrong entities. The first kind of error can happen if there is no channel or signalroute definition when there should be one. Wrong communication can take place for instance if a signal is addressed to the wrong target process. Timing errors occur when an action is executed at a wrong moment in relation to another event or at a wrong absolute time. The first error can happen for instance if two processes should synchronize but do not. Wrong timer values cause the second kind of error. The last group of errors, behavioural errors, comprise all kinds of errors that programming languages like C++ or Pascal cope with. Examples of such errors are the missing of the initialisation of a variable or the missing of a connection branch in a decision (equivalent to a switch in C). To identify such errors it is necessary that the user can influence the simulation. The SDL integrated tool environment SITE developed at Humboldt-University includes an interactive SDL simulator. The following section gives an introduction into SITE. Thereafter details are given how the simulator is structured internally and what capabilities it has to influence the simulation. THE SDL INTEGRATED TOOL ENVIRONMENT SITE The SITE tools comprise programs from the design of a specification to the generation of executable code. Almost all tool components support the 1996 revision of the language (ITU-T 1996b). The tools support the inclusion of ASN.1 data types according to ITU-T standard Z.105 (ITU-T 1996c). Specifications are written by using the textual or graphical SDL editor. Specifications can be analysed using the SDL analyser to identify syntactical and semantical errors. These errors are marked in the used editor. From a valid specification C++ code can be generated. The generated C++ code can be compiled to yield object files. These files must be either linked with a simulation library to generate an executable simulation. Linked with a run time library an executable application is produced. Additional tools like a message sequence chart editor or cross reference tool are under development. EXECUTING SDL IN A SIMULATION ENVIRONMENT In order to execute an SDL specification, the SITE C++ generator translates the SDL specification into a set of C++ classes. Those classes are derived from classes defined in the SDL simulation library. When the simulation starts, the runtime system creates an instance of the toplevel SDL system. This, in turn, will create enclosed block and process instances. After the initialisation is finished, the start transitions for all processes are executed. The further execution of the specification is driven by the events generated by the execution of prior transitions. In order to simplify maintenance of the generated code, and to allow for better interpretation of the simulation results on the SDL level, the generated C++ classes have a structure similar to the one of SDL. Type specialization of SDL is translated into class inheritance in C++, virtual types of SDL are translated into virtual functions of C++, and actual context parameters are represented as pointers to C++ instances. The simulation library is based on the ODEM library (Ahrens and Fischer 1996) for discrete systems. An SDL process is implemented as a coroutine, which will execute SDL code until it passes control to another process. The scheduling is based on the progress of simulation time and the arrival of input events. Time consumption occurs for the following reasons: • a signal is delayed in a channel, • a process sets a timer, and • the transition of a process consumes time. Because the details of time consumption are not specified on the SDL level, this information needs to be provided during the simulation. To reduce the number of parameters, several pre-packaged sets are provided: Figure 1: SITE components Common SDL/GR Specification main() { ...} Syntax-oriented Editor SDL/PR Specification
منابع مشابه
Effect of Self-Directed Learning on the Components of Reading Comprehension
Research shows a positive relationship between self-directed learning (SDL) andreading comprehension. The present quasi-experimental study attempted to expandthe scope of SDL by investigating its effect on the components of readingcomprehension. Sixty high school students took the reading comprehension part ofPET as the pretest and the posttest. Over 16 weeks, the experimental group,consisting ...
متن کاملA new approach based on state conversion to stability analysis and control design of switched nonlinear cascade systems
In this paper, the problems of control and stabilization of switched nonlinear cascade systems is investigated. The so called simultaneous domination limitation (SDL) is introduced in previous works to assure the existence of a common quadratic Lyapunov function (CQLF) for switched nonlinear cascade systems. According to this idea, if all subsystems of a switched system satisfy the SDL, a CQLF ...
متن کاملA Method for the Generation of Test Cases Based on SDL and MSCs
1 Within this paper a method for the generation of test cases for conformance tests is presented. The method is based on a formal speci cation written in CCITT SDL [CCI92b] and on Message Sequence Charts (MSCs) [CCI92a]. It assumes that the purpose of a test case is given by at least one MSC. Although SDL was chosen as formal description technique and MSCs were chosen to express test purposes, ...
متن کاملUsing SDL Tools to Test Properties of Distributed Systems
We present an ongoing project on reasoning on properties of distributed systems based on monitoring of their executions. The proposed approach uses SDL to model an execution trace of the system under test and an existing model checker to perform the analysis of properties of interest specified in the SDL-like language GOAL. For this purpose, we use the available ObjectGEODE tool set. We describ...
متن کاملIntegrating Simple yet Robust Protocol Layers for Wireless Ad Hoc Intervehicle Communications
We present an approach to simulating ad hoc network protocols integrated with their intended application. We implement the protocol layers and the application using the Specification and Description Language (SDL). Then, we simulate the ad hoc network directly from the SDL model. Using the interface of the SDL software tool, we incorporate the mobility model for hosts described in trace files. ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007